home *** CD-ROM | disk | FTP | other *** search
/ Windows News 2005 November / WNnov2005.iso / Windows / Indispensables / Movie Collection / MovieCollection5403.exe / {app} / php5 / films.php < prev    next >
PHP Script  |  2005-03-03  |  3KB  |  105 lines

  1. <?php
  2.    include_once('sql.class.php');
  3.    include_once('replace.class.php');
  4.    include_once('tools.class.php');
  5.    include_once('sqlfilter.class.php');
  6.  
  7.    $mcsql= new TmcSql();
  8.  
  9.    $doc  = new DOMDocument();
  10.    $node = createDataPacket($doc);
  11.    $datapacket=$node;
  12.  
  13.    $node = $doc->createElement('columns');
  14.    $rootnode = $node;
  15.  
  16.    // Colonnes   
  17.    $odocCols    = new DOMDocument();
  18.    $odocCols->load('columns.xml');
  19.    $oxpathCols  = new DOMXPath($odocCols);
  20.    $oCols= array();
  21.    $res = $oxpathCols->query('//datapacket/columns/column');
  22.    $i=0;
  23.    foreach ($res as $nodeCols)
  24.    {
  25.       $nom     = $nodeCols->getAttribute('nom');
  26.       $caption = $nodeCols->getAttribute('caption');
  27.       $oCols[$i]= $nom;
  28.  
  29.       $node = $doc->createElement('column');
  30.       $node->setAttribute("nom", $nom);
  31.       $node->setAttribute("caption", $caption);
  32.       $rootnode->appendChild($node);
  33.       
  34.       $i++;
  35.    }
  36.    $datapacket->appendChild($rootnode);
  37.    
  38.    // Liste des films
  39.    $node = $doc->createElement('films');
  40.    $rootnode = $node;
  41.    
  42.    // Recherche
  43.    $filter = new TSqlFilter('select idx, '.implode(', ', $oCols).' from t_film');
  44.    
  45.    $selectCollection = $_POST["selectCollection"];
  46.    if ((!isset($selectCollection)) or ($selectCollection==''))
  47.       $selectCollection=-1;
  48.    if ($selectCollection!=-1)
  49.       $filter->addFilter("idcollection=$selectCollection");
  50.       
  51.    $selectCategorie  = $_POST["selectCategorie"];
  52.    if ((!isset($selectCategorie)) or ($selectCategorie==''))
  53.       $selectCategorie=-1;
  54.    if ($selectCategorie!=-1)
  55.       $filter->addFilter("idcategorie=$selectCategorie");
  56.       
  57.    $textMots = $_POST["textMots"];
  58.    if (isset($textMots) and ($textMots!=''))
  59.    {
  60.       $mots = $textMots;
  61.       $mots = str_replace(" ", "+", $mots);
  62.       $mots = str_replace("+", " ", $mots);
  63.       $tab_mots = explode(" ", $mots);
  64.       for ($i=0; $i<count($tab_mots); $i++)
  65.       {
  66.          $search = Trim($tab_mots[$i]);
  67.          if ($search!="")
  68.          {
  69.             $filter->addFilter("nom like '%$search%'");
  70.             //echo("nom like '%$search%'<br />");
  71.          }
  72.       }
  73.    }
  74.  
  75.    $tab  = $mcsql->openSql($filter->getSql());
  76.  
  77.    foreach ($tab as $key => $row)
  78.    {
  79.       $node = $doc->createElement('film');
  80.       foreach ($oCols as $id_col => $val)
  81.       {
  82.          $nom     = $nodeCols->getAttribute('nom');
  83.          $node->setAttribute($val, utf8_encode($row[$val]));
  84.       }
  85.       $node->setAttribute('idx', $row['idx']);
  86.       $rootnode->appendChild($node);
  87.       
  88.    }
  89.    $datapacket->appendChild($rootnode);
  90.  
  91.    $xsl = new DomDocument;
  92.    $xsl->load('./films.xsl');
  93.    $xsl_srce = $xsl->saveXML();
  94.  
  95.    $replace = new TmcXslReplace($xsl_srce);
  96.    $xsl_srce = $replace->processReplace();
  97.  
  98.    $xsl->loadxml($xsl_srce);
  99.    $proc = new xsltprocessor();
  100.    $proc->importStyleSheet($xsl); // Importation des rΦgles XSL
  101.    echo $proc->transformToXML($doc); // Transformation
  102.  
  103.    //print $doc->saveXML();
  104. ?>
  105.